package com.zkq.graduate.service;

import com.zkq.graduate.pojo.Student;
import com.zkq.graduate.pojo.Title;

import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Optional;

/**
 * @Author zhangkaiqiang
 * @Date 2019/11/25  14:49
 * @Description TODO
 */
public interface TitleService {

	/**
	 * 查找某个老师发布的所有题目
	 * @param teacherId 教师
	 * @return
	 */
	List<Title> listTitleByTeacherId(@NotNull String teacherId);


	/**
	 * 查找某个学生可选的所有题目
	 * @param student
	 * @return
	 */
	List<Title> listTitleByStudent(@NotNull Student student);

	/**
	 * 教师发布一个新的题目
	 * @param title
	 * @return
	 */
	boolean insertOneTitle(@NotNull Title title);


	/**
	 * 删除某些已经发布的题目
	 * @param titleIds
	 * @return
	 */
	boolean delTitles(@NotNull String[] titleIds);


	/**
	 * 更新某一条可选题目
	 * @param title
	 * @return
	 */
	boolean editTitle(@NotNull Title title);


	/**
	 * 根据id得到某个可选题目的详细信息
	 * @param id
	 * @return
	 */
	Optional<Title> getTitleById(String id);


	/**
	 * 更新某个可选题目的选择人数
	 * @param title
	 * @return
	 */
	boolean updateSelectCount(Title title);

}
